import request from '@/config/axios'

export interface PortalLoginVO {
  username: string
  password: string
}

// 消息通知接口
export const AuditCount = () => {
  return request.get({
    url: '/approval/portal/AuditCount',
    headers: {
      isEncrypt: false
    }
  })
}

// 统一身份认证登录
export const portalPersonLogin = (params) => {
  return request.get({
    url: '/system/portal/auth/sso',
    params,
    headers: {
      isEncrypt: false
    }
  })
}

// 门户登录接口
export const portalLogin = (data: PortalLoginVO) => {
  return request.post({
    url: '/system/portal/auth/login',
    data,
    headers: {
      isEncrypt: false
    }
  })
}

// 查询用户信息
export const getPermissionInfo = () => {
  return request.get({
    url: '/system/portal/auth/get-permission-info',
    headers: {
      isEncrypt: false
    }
  })
}

// 门户退出登录接口
export const portalLogout = () => {
  return request.post({
    url: '/system/portal/auth/logout',
    headers: {
      isEncrypt: false
    }
  })
}

// 查询数据统计
export const getTopIndex = () => {
  return request.get({
    url: '/home/portal/top-index',
    headers: {
      isEncrypt: false
    }
  })
}

// 获取数据分类接口 字典
export const getDictByCode = (params) => {
  return request.get({
    url: '/system/dict-data/portal/getDictByCode',
    params,
    headers: {
      isEncrypt: false
    }
  })
}

// 获取数据树形结构接口
export const getCatalogTree = () => {
  return request.get({
    url: '/portal/get-catalogTree',
    headers: {
      isEncrypt: false
    }
  })
}

// 获取数据目录数据列表
export const getResourceDirectoryPage = (params) => {
  return request.get({
    url: '/portal/ResourceDirectoryPage',
    params,
    headers: {
      isEncrypt: false
    }
  })
}

// 获取首页数据统计滚动数据
export const getCount = () => {
  return request.get({
    url: '/portal/count',
    headers: {
      isEncrypt: false
    }
  })
}

// 获取首页数据统计折线图
export const getApiCallCount = (params) => {
  return request.get({
    url: '/system/record-query/portal/getApiCallCount',
    params,
    headers: {
      isEncrypt: false
    }
  })
}

// 近七日数据折线图
export const getDataNumBy7Day = () => {
  return request.get({
    url: '/portal/getDataNumBy7Day',
    headers: {
      isEncrypt: false
    }
  })
}

// 获取接口推荐列表
export const getInterfaceTop = () => {
  return request.get({
    url: '/portal/getInterfaceTop',
    headers: {
      isEncrypt: false
    }
  })
}

// 获取目录推荐列表
export const getResourceDirectoryTop = () => {
  return request.get({
    url: '/portal/ResourceDirectoryTop',
    headers: {
      isEncrypt: false
    }
  })
}

// 获取数据目录详情接口
export const getResourceDirectoryById = (id) => {
  return request.get({
    url: `/portal/getResourceDirectoryById?id=` + id,
    headers: {
      isEncrypt: false
    }
  })
}

// 获取数据目录详情中数据项接口
export const getCatalogInfo = (params) => {
  return request.get({
    url: '/portal/getCatalogInfo',
    params,
    headers: {
      isEncrypt: false
    }
  })
}

// 获取数据集数据列表
export const getDataSetById = (params) => {
  return request.get({
    url: '/portal/getDataSetById',
    params,
    headers: {
      isEncrypt: false
    }
  })
}

// 下载数据集文件
export const downloadDataSetFile = (params) => {
  return request.download({
    url: '/portal/downloadDataSet',
    params,
    headers: {
      isEncrypt: false
    }
  })
}

export const getInterfaceList = (params) => {
  return request.get({
    url: '/portal/getInterfaceList',
    params,
    headers: {
      isEncrypt: false
    }
  })
}

// 获取数据接口详情接口
export const getInterfaceByCatalogId = (id) => {
  return request.get({
    url: `/portal/getInterfaceByCatalogId?catalogId=` + id,
    headers: {
      isEncrypt: false
    }
  })
}

// 接口详情测试接口
export const getOnlineGet = (params) => {
  return request.get({
    url: '/portal/debug/online',
    params,
    headers: {
      isEncrypt: false
    }
  })
}

export const getOnlinePost = (data) => {
  return request.post({
    url: '/portal/debug/online',
    data,
    headers: {
      isEncrypt: false
    }
  })
}

// 数据目录  数据集  数据接口  详情中的查看

export const applicationDetail = (params) => {
  return request.get({
    url: '/approval/portal/applicationDetail',
    params,
    headers: {
      isEncrypt: false
    }
  })
}

// 收藏
export const getCollect = (id) => {
  return request.get({
    url: `/portal/collect?catalogId=` + id,
    headers: {
      isEncrypt: false
    }
  })
}

// 用户中心 申请审批  列表
export const applicationAuditPage = (params) => {
  return request.get({
    url: '/approval/portal/applicationAuditPage',
    params,
    headers: {
      isEncrypt: false
    }
  })
}

// export const applicationAuditPage = (params) => {
//   return request.get({
//     url: '/portalUser/portal/get-kx-list',
//     params,
//     headers: {
//       isEncrypt: false
//     }
//   })
// }

// 用户中心 申请审批  审核
export const applicationAudit = (data) => {
  return request.post({
    url: '/systemRecord/portal/audit',
    data,
    headers: {
      isEncrypt: false
    }
  })
}

// 用户中心 申请审批  设置审批人
export const setAuditUser = () => {
  return request.get({
    url: '/portalUser/portal/get-kx-list',
    headers: {
      isEncrypt: false
    }
  })
}

// 用户中心 我的需求 查询
export const getInterfaceListByUser = (params) => {
  return request.get({
    url: '/qna/portal/page',
    params,
    headers: {
      isEncrypt: false
    }
  })
}

// 用户中心 我的需求 提交需求
export const submitInterface = (data) => {
  return request.post({
    url: '/qna/portal/submit',
    data,
    headers: {
      isEncrypt: false
    }
  })
}

// 用户中心  已申请资源  列表
export const applicationPage = (params) => {
  return request.get({
    url: '/approval/portal/applicationPage',
    params,
    headers: {
      isEncrypt: false
    }
  })
}

// 用户中心 已申请资源 查看详情
export const getApplication = (params) => {
  return request.get({
    url: '/approval/portal/getApplication',
    params,
    headers: {
      isEncrypt: false
    }
  })
}

// 用户中心 已申请资源  不通过原因
export const getAuditRecord = (params) => {
  return request.get({
    url: '/systemRecord/portal/getAuditRecord',
    params,
    headers: {
      isEncrypt: false
    }
  })
}

// 用户中心 已申请资源 编辑
export const updateApplication = (data) => {
  return request.put({
    url: '/approval/portal/updateApplication',
    data,
    headers: {
      isEncrypt: false
    }
  })
}

// 用户中心 已申请资源 删除
export const deleteApplication = (params) => {
  return request.delete({
    url: '/approval/portal/deleteApplication',
    params,
    headers: {
      isEncrypt: false
    }
  })
}

// 用户中心 已申请资源 撤回
export const recallApplication = (data) => {
  return request.put({
    url: '/approval/portal/recallApplication',
    data,
    headers: {
      isEncrypt: false
    }
  })
}

// 申请 保存接口
export const saveInterface = (data) => {
  return request.post({
    url: '/approval/portal/saveApplication',
    data,
    headers: {
      isEncrypt: false
    }
  })
}

// 申请 提交接口
export const submitApply = (data) => {
  return request.post({
    url: '/approval/portal/submitApplication',
    data,
    headers: {
      isEncrypt: false
    }
  })
}

// 门户网站需求提交 /qna/portal/submit
// 门户网站需求查询
// 后台需求查询 /qna/page
// 后台回复需求 /qna/reply
